package zy.dao.batch.sell;

import java.util.List;
import java.util.Map;

import zy.entity.base.product.T_Base_Product;
import zy.entity.base.stream.T_Base_Stream;
import zy.entity.batch.client.T_Batch_ClientPrice;
import zy.entity.batch.order.T_Batch_Import;
import zy.entity.batch.order.T_Batch_Order;
import zy.entity.batch.sell.T_Batch_Sell;
import zy.entity.batch.sell.T_Batch_SellList;
import zy.entity.stock.data.T_Stock_DataBill;

public interface BatchSellDAO {
	Map<String, Object> countSum(Map<String,Object> params);
	List<T_Batch_Sell> list(Map<String,Object> params);
	T_Batch_Sell load(Integer se_id);
	T_Batch_Sell load(String number,Integer companyid);
	T_Batch_Sell check(String number,Integer companyid);
	List<T_Batch_SellList> detail_list_forsavetemp(String se_number,Integer companyid);
	List<T_Batch_SellList> detail_list(Map<String, Object> params);
	List<T_Batch_SellList> detail_list_print(Map<String, Object> params);
	List<T_Batch_SellList> detail_sum(Map<String, Object> params);
	List<String> detail_szgcode(Map<String,Object> params);
	List<T_Batch_SellList> list_order_forimport(List<Long> ids);
	List<T_Batch_SellList> temp_list_forimport(Integer se_type,Integer us_id,Integer companyid);
	List<T_Batch_SellList> temp_list_forsave(Integer se_type,Integer us_id,Integer companyid);
	List<T_Batch_SellList> temp_list(Map<String, Object> params);
	List<T_Batch_SellList> temp_sum(Integer se_type,Integer us_id,Integer companyid);
	List<String> temp_szgcode(Map<String,Object> params);
	Integer count_product(Map<String, Object> param);
	List<T_Base_Product> list_product(Map<String, Object> param);
	T_Base_Product load_product(String pd_code,Integer companyid);
	Double queryLastBatchPrice(String pd_code,String ci_code, Integer companyid);
	Map<String, Object> load_product_size(Map<String,Object> params);
	T_Batch_SellList temp_queryUnitPrice(String pd_code,String sel_pi_type, Integer se_type, Integer us_id, Integer companyid);
	T_Batch_SellList temp_loadBySubCode(String sub_code,String sel_pi_type, Integer se_type, Integer us_id, Integer companyid);
	void temp_save(List<T_Batch_SellList> temps);
	void temp_save(T_Batch_SellList temp);
	void temp_update(List<T_Batch_SellList> temps);
	void temp_updateById(List<T_Batch_SellList> temps);
	void temp_update(T_Batch_SellList temp);
	void temp_updateprice(String pd_code,String sel_pi_type, Double unitPrice, Integer se_type, Integer us_id, Integer companyid);
	void temp_updaterebateprice(String pd_code, Double rebatePrice, Integer se_type, Integer us_id, Integer companyid);
	void temp_updateRemarkById(T_Batch_SellList temp);
	void temp_updateRemarkByPdCode(T_Batch_SellList temp);
	void temp_del(List<T_Batch_SellList> temps);
	void temp_del(Integer sel_id);
	void temp_delByPiCode(T_Batch_SellList temp);
	void temp_clear(Integer se_type,Integer us_id,Integer companyid);
	List<T_Batch_Import> temp_listByImport(List<String> barCodes,String priceType,Double ci_rate,String batch_price,String ci_code,Integer companyid);
	void save(T_Batch_Sell sell, List<T_Batch_SellList> details);
	void update(T_Batch_Sell sell, List<T_Batch_SellList> details);
	void updateApprove(T_Batch_Sell sell);
	List<T_Batch_SellList> listWithOrder(String number, Integer companyid);
	T_Batch_Order loadOrder(String number,Integer companyid);
	void updateOrder(T_Batch_Order order);
	void updateOrderList(List<T_Batch_SellList> details);
	void updateOrderList_Reverse(List<T_Batch_SellList> details);
	List<T_Stock_DataBill> listStock(String number,String dp_code, Integer companyid);
	List<T_Batch_ClientPrice> detail_listClientPrice(String number, Integer companyid);
	void saveClientPrice(List<T_Batch_ClientPrice> clientPrices);
	void deleteClientPrice(List<T_Batch_ClientPrice> clientPrices);
	T_Base_Stream loadStream(String se_code, Integer companyid);
	void updateStream(T_Base_Stream stream);
	void del(String od_number, Integer companyid);
	void deleteList(String od_number, Integer companyid);
}
